Skip to content
  • Qt 5.4 QDrop event handling

    General and Desktop qt 5.4 qdropeve
    8
    0 Votes
    8 Posts
    3k Views
    Chris KawaC
    This is how you can parse the "FileGroupDescriptorW" type data: QByteArray fgd = evt->mimeData()->data("FileGroupDescriptorW"); LPFILEGROUPDESCRIPTORW fgddata = (LPFILEGROUPDESCRIPTORW)fgd.constData(); unsigned numItems = fgddata->cItems; for(unsigned i = 0; i < numItems; ++i) { FILEDESCRIPTORW& desc = fgddata->fgd[i]; if(desc.dwFlags & FD_FILESIZE) { QString fileName = QString::fromUtf16((const ushort*)desc.cFileName); int fileSize = desc.nFileSizeLow - desc.nFileSizeHigh; QByteArray fileData = evt->mimeData()->data("application/x-qt-windows-mime;value=\"FileContents\""); //only the first file in Qt 5.4 so break; //in Qt 5.5 you could do //QByteArray fileData = evt->mimeData()->data("application/x-qt-windows-mime;value=\"FileContents\";index=" + QString::number(i)); } }